Part Number Hot Search : 
FALDM70G CZRA1220 9K4FKE36 D6708G 2SK812 9N03L M301202 PMP1400
Product Description
Full Text Search
 

To Download WTS701 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
 PRELIMINARY
WTS701
WINBOND SINGLE-CHIP TEXT-TO-SPEECH PROCESSOR
The information contained in this datasheet may be subject to change without notice. It is the responsibility of the customer to check the Winbond USA website (www.winbond-usa.com) periodically for the latest version of this document, and any Errata Sheets that may be generated between datasheet revisions.
-1-
Publication Release Date May 2003 Revision 3.09
WTS701
1. GENERAL DESCRIPTION
The WTS701 is a high quality, fully integrated, single-chip Text-to-Speech solution that is ideal for use in applications such as automotive appliances, GPS/navigation systems, cellular phones and other portable products or accessories. The WTS701 product accepts ASCII (Unicode and Big5 for Mandarin) input via a SPI port and converts it to spoken audio via an analog output or digital CODEC output. The WTS701 integrates a text processor, smoothing filter and multi-level memory storage array on a single-chip. Text-to-speech conversion is achieved by processing the incoming text into a phonetic representation that is then mapped to a corpus of naturally spoken word parts. The synthesis algorithm attempts to use the largest possible word unit in the appropriate context to maximize natural sounding speech quality. The speech units are stored uncompressed in a multi-level, non-volatile analog storage array to provide the highest sound quality to density trade-off. This unique, single-chip solution is made possible through Winbond's patented multilevel storage technology. Voice and audio signals are stored directly into solid-state memory in their natural, uncompressed form, providing superior quality voice reproduction. The chip can be programmed through the SPI port, allowing downloading of different languages and speaker databases when made available by Winbond.
-2-
WTS701
2. FEATURES
* Fully Integrated Solution
Single-chip compact text-to-speech translation No algorithm development required Selectable digital and analog audio output Simple SPI interface Reprogrammable solution enables loading different voice or language
* Text-To-Speech Algorithm Characteristics
High quality speech synthesis using speech element concatenation Winbond's standard 100-year speech retention Audio stored as uncompressed analog waveform - industry's highest quality and most natural sounding
* Easy to Use and Control
Real time conversion for streaming text General text preprocessing and normalization User customization for special characters such as SMS icons and chat emoticons User customization for application specific abbreviations
* Language Support
Support U.S. English and Mandarin (Beijing dialect) Other languages in development or in planning
* Device Management
Accepts ASCII, Unicode or Big5 streaming text 256-byte text buffer Playback of Phonetic Alphabet Variable speed playback Control of pitch change Supports Power Down mode. Supports Pause and Resume, Stop and Finish text conversion commands Embedded characters support to control speed, volume, case sensitivity, and silent behavior
* Peripheral Control
16-bit linear PCM slave interface output support SPI serial port for control commands and status report to system's host controller Hardware handshake control signals Analog audio output with 8 speaker driver, digital volume control and line level o/p Analog audio input (AUXIN) for driving external audio to the speaker
* Low Power Consumption
+2.7 to +3.3V (VCC) Supply Voltage Operating Current: ICC Convert = 35 mA (typical) Standby Current: ISB < 1A (typical)
* Device Characteristics
Available in 56-lead TSOP package Industrial temperature range (-40C to +85C) 3V/5V logic tolerance
-3-
Publication Release Date: May 2003 Revision 3.09
WTS701
3. BLOCK DIAGRAM
3.1. WTS701 BLOCK DIAGRAM
CS\ SS\ MOSI MISO SCLK R/B\ INT\ XTAL1 XTAL2
SPI INTERFACE
MLS CONTROL LOGIC FLASH CODESTORE MEMORY (ROM) PROCESSOR
RESET
CLOCK GENERATION RAM HIGH VOLTAGE GENERATION MLS PHOENEME MEMORY
AUX OUT AMP
AUX OUT
REFERENCE GENERATION
Spkr. AMP
SP+ SP-
ANALOG SIGNAL
AUXIN
AUX AMP
CONDITIONING 13 BIT CODEC LINEAR/ 2'S COMPLEMENT
Power Conditioning
VFS VDX VCLK
VCCA
VSSA
VSSA
VSSD
VSSD
VCCD
VCCD
ATT CAP
Figure 1. WTS701 Block Diagram.
-4-
WTS701
3.2. WTS701 TYPICAL APPLICATIONS
Baseband Processor
WTS701
CS\ SS\ MOSI MISO SCLK R/B\ INT\ VFS VCLK VDX
CODEC
HOST Controller
FS CL DIN DOUT
AUXOUT AUXIN SP+ SP-
Figure 2. WTS701 Configuration for Digital (CODEC) Environment.
WTS701
CS\ SS\ MOSI MISO SCLK R/B\ INT\ VFS VCLK VDX
HOST Controller
AUXOUT AUXIN SP+ SP-
Line out Line in
Figure 3. WTS701 Configuration for Analog Environment
-5-
Publication Release Date: May 2003 Revision 3.09
WTS701
4. TABLE OF CONTENTS
1. GENERAL DESCRIPTION.................................................................................................................. 2 2. FEATURES ......................................................................................................................................... 3 3. BLOCK DIAGRAM .............................................................................................................................. 4 3.1. WTS701 Block Diagram ............................................................................................................... 4 3.2. WTS701 Typical Applications....................................................................................................... 5 4. TABLE OF CONTENTS ...................................................................................................................... 6 5. PIN CONFIGURATION ....................................................................................................................... 8 6. PIN DESCRIPTION ............................................................................................................................. 9 7. FUNCTIONAL DESCRIPTION.......................................................................................................... 11 7.1 Text-To-Speech Mechanism ....................................................................................................... 12 7.1.1 Text Normalization ................................................................................................................ 12 7.1.2 Words-to-Phoneme conversion ............................................................................................ 12 7.1.3 Phoneme Mapping ................................................................................................................ 12 7.2 Physical Interface ........................................................................................................................ 13 7.2.1 Clocking Requirements......................................................................................................... 13 7.2.2 Power Down Mode................................................................................................................ 14 7.2.3 Power and Grounding ........................................................................................................... 14 7.2.4 SPI Interface ......................................................................................................................... 15 7.2.5 Flow Control Interface ........................................................................................................... 16 7.2.6 The CODEC Interface ........................................................................................................... 16 7.2.7 The Analog Interface............................................................................................................. 17 7.2.8 Resetting ............................................................................................................................... 18 7.3 Communication Protocol.............................................................................................................. 19 7.3.1 Command Classes................................................................................................................ 20 7.3.2 Status Register...................................................................................................................... 21 7.3.3 Interrupt Handler ................................................................................................................... 22 7.3.4 BCNT -- Byte Count Register................................................................................................ 23 7.3.5 Command Acceptance.......................................................................................................... 23 7.3.6 Data Acceptance................................................................................................................... 23 7.4 Commands Overview .................................................................................................................. 23 7.4.1 Command Description .......................................................................................................... 26 7.4.2 Illegal Commands ................................................................................................................. 37 7.4.3 Configuration Registers ........................................................................................................ 37 7.4.4 System Operation ................................................................................................................. 41 7.4.5 Initialization and Configuration.............................................................................................. 43 -6-
WTS701
7.4.6 Converting Text..................................................................................................................... 43 7.5 SPI Interface ................................................................................................................................ 46 7.5.1 SPI Transactions................................................................................................................... 46 7.6 CODEC Interface......................................................................................................................... 49 7.7 Control Characters....................................................................................................................... 52 7.7.1 Phonetic Alphabet Playback ................................................................................................. 52 7.7.2 Speed Change ...................................................................................................................... 54 7.7.3 Volume Change .................................................................................................................... 55 7.7.4 Case Sensitivity..................................................................................................................... 55 7.7.5. Pause Control ...................................................................................................................... 55 7.8 Customizing Abbreviations .......................................................................................................... 56 7.8.1 Abbreviation Data Format ..................................................................................................... 56 7.8.2 Abbreviation Table Format.................................................................................................... 57 7.8.3 Command Execution............................................................................................................. 57 7.9 Device Programming ................................................................................................................... 58 7.10 Text-To-Speech Processor Commmands - Quick Reference Table........................................ 59 7.10.1 Text Input Format................................................................................................................ 64 7.10.2. Buffer length limit ............................................................................................................... 65 7.10.3. Undefined characters......................................................................................................... 65 8. TIMING WAVEFORMS ..................................................................................................................... 66 8.1 SPI Timing Diagram..................................................................................................................... 66 8.2 CODEC Timing Diagrams ........................................................................................................... 68 9. ABSOLUTE MAXIMUM RATINGS.................................................................................................... 70 10. ELECTRICAL CHARACTERISTICS ............................................................................................... 71 11. TYPICAL APPLICATION CIRCUIT ................................................................................................. 74 12. PACKAGE DRAWING AND DIMENSIONS .................................................................................... 75 13. ORDERING INFORMATION........................................................................................................... 76 14. VERSION HISTORY ....................................................................................................................... 77
-7-
Publication Release Date: May 2003 Revision 3.09
WTS701
5. PIN CONFIGURATION
The following sections detail the pins of the WTS701 processor. Table 1 shows all the pins and the signals that use them in different configurations. It also shows the type and direction of each signal. Figure 4 shows the physical pin out of the 56-pin TSOP package.
NC VS S A VC LK VF S VDX M IS O XT AL2 XT AL1 VS S D VS S D VC C D VC C D INT \ M OS I SS\ S C LK NC NC NC NC NC NC NC NC CS\ R /B \ R ES ET NC
1 2 3 4 5 6 7 8 9 10 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
56 55 54 53 52 51 50 49 48 47 46 45
NC NC AUXOUT NC AUXIN NC NC NC VC C A NC SP+ NC VS S A NC SPNC AT T C AP NC NC NC VS S A NC NC NC NC NC NC NC
W TS701
44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29
Figure 4. 56-pin TSOP Package Connection Diagram.
-8-
WTS701
6. PIN DESCRIPTION
Table 1. WTS701 Pin Signal Assignment. PIN NO. 2,36,44 3 4 5 SYMBOL VSSA VCLK VFS VDX I/O G I I O Analog Ground pins. CODEC master clock CODEC frame synchronization signal CODEC data output. This pin puts data out in the linear PCM unsigned or 2's complement format. It is tri-stated until the user requests a CONVERT operation. SPI Master In, Slave Out pin. Serial data line used to communicate with SPI master. Pin is tri-state when SS =1. 7 8 XTAL2 XTAL1 O I CRYSTAL 2: This is the crystal oscillator output. It is the inversion of XTAL1. CRYSTAL 1: This is the crystal oscillator input. This pin may be driven by an external clock. The clock to the WTS701 processor is configured by a clock configuration register, which is set by the host processor during the initialization phase. Digital Ground pin. Positive Digital Voltage Supply pin. These pins carry noise generated by internal clocks in the chip. They must be independently bypassed to Digital Ground to ensure correct device operation and not connected together. Interrupt Output; an open drain output that indicates that the device wishes an interrupt service. The device can request an interrupt when it finishes an operation or needs more data to process. Under what conditions the device generates an interrupt can be configured through the user configuration registers. This pin remains LOW until a Read Interrupt command is executed. SPI Master Out, Slave In. Serial data input from Master and Open Drain SPI Slave Select input. This is an active LOW input used to select the device to respond to an SPI transaction. SPI Serial clock input. Chip Select (active LOW) Pin must be LOW to access WTS701 device. Ready/busy signal; This pin defaults HIGH indicating the device is ready for data transfer. The pin is driven LOW to handshake a pause in SPI data transfer and Open Drain. FUNCTION
6
MISO
O
9,10 11,12
VSSD VCCD
G P
13
INT
O
14 15 16 25 26
MOSI
SS
I I I I O
SCLK
CS
R/ B
-9-
Publication Release Date: May 2003 Revision 3.09
WTS701
PIN NO. 27 40 42 46 48 SYMBOL RESET ATTCAP SPSP+ VCCA I/O I I/O O O P Global reset signal. AutoMute Capacitor Pin. Should have a 4.7uF capacitor to VSSA. Differential Negative Speaker Driver Output. Differential Positive Speaker Driver Output. Positive Analog Voltage Supply pin. This pin supplies the LOW level audio sections of the device. It should be carefully bypassed to Analog Ground to ensure correct device operation. Analog input pin. This pin should be capacitively coupled. See page 73 for example. Analog Output for single ended output from the device. Not Connected - must be floating. FUNCTION
52 54 1,1724,2835,3739,41,43, 45,47,4951,53,5556
AUXIN AUXOUT NC
I O
Note: TYPE I:Input, O:Output, I/O bi-directional, P:Power, G:Ground
- 10 -
WTS701
7. FUNCTIONAL DESCRIPTION
As a real System-On-Chip solution, the WTS701 performs the overall control functions for host controller and text-to-speech processing. The WTS701 system architecture consists of the following functions: * * * * * * Serial interface to monitor the SPI port and interpret commands and data Text normalization module to pre-process incoming text into pronounceable words Words to phoneme translator, which converts incoming text to phoneme codes Phoneme mapping module that maps incoming phonemes to words, sub-words, syllables or phonemes present in the MLS memory Volume and speed adjustments Digital and analog output blocks for off-chip usage
The WTS701 system performs text-to-speech synthesis based on concatenative samples. The units for concatenation can vary from whole words down to phoneme units. The convention is that the larger the sub-word unit used for synthesis the higher the quality of the speech output. A corpus of pre-recorded words is stored in Winbond's patented multilevel storage (MLS) memory and a mapping of the various sub-word parts is held in a lookup table. The speech creation is achieved by concatenation of these speech elements to produce words. The system process flow is shown in Figure 5.
WTS701 Serial Text, symbols & Control
Text Normalization
Words to Phoneme
Phoneme Mapper Digital output
MLS Memory
Speech
Analog output
Figure 5. WTS701 System Process Flow.
- 11 -
Publication Release Date: May 2003 Revision 3.09
WTS701
7.1 TEXT-TO-SPEECH MECHANISM
The text to speech component of the system consists of three principal blocks:
* * *
Text normalization Word to phoneme conversion Phoneme mapping
7.1.1 Text Normalization
Text normalization involves the translation of incoming text into pronounceable words. It includes such functions as expanding abbreviations and translating numeric strings to spoken words. It involves a certain amount of context processing to determine correct spoken form. In addition, the WTS701 looks into the abbreviation list stored in the device's internal memory and converts acronyms, abbreviations or special characters (such as Instant Messaging icons or emoticons) into the appropriate text representation. The default abbreviation list supported by the WTS701 is a general one that cannot be modified by the user to match the domain that the text is being loaded from. But the default list can be overridden by the user abbreviation list. This enables a flexibility of adding abbreviation specifically for the text either by the developer or even the end user to best customize the product for its preferences. Instant Messaging or Short Messages Service (SMS) unique characters are supported through this functionality as well, defining the icon, ASCII/Unicode/Big5 text, and its replacement. The default abbreviation list supported is described in the specific language release letter.
7.1.2 Words-to-Phoneme conversion
Once the data stream has been translated to pronounceable words, the system next determines how to pronounce them. This function is obviously highly language dependent. For a language such as English it is impossible to break this task down to a set of definitive rules. The task is achieved by a combination of rule based processing together with exception processing.
7.1.3 Phoneme Mapping
This algorithm maps phoneme strings into the MLS phonetic inventory. This task falls into two portions. First, the word must be split into sub-word portions. This splitting must be done at appropriate phonetic boundaries to achieve high quality concatenation. Once a sub-word unit is determined, the inventory is searched to determine if a match is present. A matching weight is assigned to each match depending on how closely the phonetic context matches. Each sub-word has a left and right side context to match as well as the phoneme string itself. If no suitable match is found in the inventory, then the sub-word is further split in a tree like manner until a match is found. The splitting tree is processed from left to right and each time a successful match occurs the address and duration of the match in the corpus is placed in a queue of phonetic parts to be played out the audio interface.
- 12 -
WTS701
7.2 PHYSICAL INTERFACE
The following sections describe the physical pin properties and the timing associated with the physical interface to the device. Note that all input pins are 3V and 5V tolerant, except for the CS signal which is only 3V tolerant.
7.2.1 Clocking Requirements
The WTS701 processor can receive its clock from either an external clock source or a crystal oscillator. The XTAL1 and XTAL2 pins provide the crystal interface to the device. The clock to the WTS701 processor is configured by a clock configuration register, which must be set by the host processor during the initialization phase. Figure 6 below shows how to connect the WTS701 to a crystal oscillator. An external clock can be connected to the WTS701 providing the clock source for the system, as shown in Figure 6.
C1 = C2 = 15pF X1 = 24.576MHz
WTS701 C1 XTAL1 X1 XTAL2 CLK IN
WTS701
XTAL1
C2
XTAL2
Figure 6. Clock Generation.
Suggested Crystal Specification: F = 24.576 MHz Fundamental Mode Operation CL = 16 pF ESR = 60 maximum
- 13 -
Publication Release Date: May 2003 Revision 3.09
WTS701
7.2.2 Power Down Mode
Upon application of power, the WTS701 will enter the RESET state and then be in a POWER DOWN state. In the POWER DOWN mode, only Class0 SPI commands are valid. (See subsection 7.3.1). The Power Down status of the device can be determined with a RDST (Read Status) command, specified by the RDY bit in STATUS BYTE 0. Issuing the PWDN (Power Down) command to the WTS701 processor will return the processor to the POWER DOWN mode. In POWER DOWN mode the external crystal oscillator is shut off and the processor is deactivated. POWER DOWN mode is exited by issuing a PWUP (Power Up) command to the WTS701. The PWUP command should be preceded by a SCLC (Set Clock) command to ensure correct clock configuration.
7.2.3 Power and Grounding
The WTS701 can operate over 2.7V to 3.3V supply voltage range. The power supply and ground pins (VCCA, VCCD, VSSA, VSSD) should be carefully bypassed as close to the chip as possible to ensure high quality audio. In addition, ATTCAP pin should have a 4.7 F capacitor connected to ground. This pin must NOT be left floating. The pins that are marked as NC (Not Connected), MUST be left floating.
VCCA, VCCD (Voltage Inputs)
To minimize noise, the analog and digital circuits in the WTS701 device use separate power busses. These +3.0 V busses lead to separate pins. For optimal noise immunity, tie the VCCD pins together as close as possible and decouple both supplies as near to the package as possible.
VSSA, VSSD (Ground Inputs)
The WTS701 series utilizes separate analog and digital ground busses. The analog ground (VSSA) pins should be tied together as close to the package as possible and connected through a lowimpedance path to power supply ground. The digital ground (VSSD) pin should be connected through a separate low-impedance path to power supply ground. These ground paths should be large enough to ensure that the impedance between the VSSA pins and the VSSD pin is less than 3. The backside of the die is connected to VSSD through the substrate resistance.
NC (Not Connect)
These pins MUST not be connected to the board at any time. Connection of these pins to any signal, ground or VCC may result in incorrect device behavior or cause damage to the device.
- 14 -
WTS701
7.2.4 SPI Interface
Communications with the WTS701 is conducted over the SPI serial communications port. The device responds to a command when the Chip Select signal ( CS ) is LOW and addressed by an active LOW signal on the SS (Slave Select) pin. Under this condition, it accepts data on the MOSI input, which is clocked in on rising edges of the serial clock (SCLK) signal. Concurrently, valid data from the WTS701 device to the bus master is available on MISO for the HIGH period of SCLK. The protocol implemented on the WTS701 defines that the first two bytes of data sent in an SPI transaction is a command word. A transaction is defined as the SPI transfers conducted while SS is LOW, the transaction ends when SS returns HIGH. A list of available commands can be found in subsection 7.10 (Text-To-Speech Processor Commands Quick Reference Table). The data flow over the SPI interface is MSB first, both in and out of the WTS701.
All Input pins are 3V and 5V tolerant, except for the CS signal which is only 3V tolerant. The following is a description of the WTS701 SPI interface signals:
SCLK (Serial Clock)
The Serial Clock line is a digital input. It is driven by the SPI master and controls the timing of the data exchanged over the SPI data lines, MOSI and MISO. The maximum frequency for this pin is 5 MHz.
SS (Slave Select)
The Slave Select line is an active LOW digital input. It is driven by the SPI master and acts as a chip select line. The device only responds to SPI transactions when this line is selected (LOW) and then raised HIGH after SPI communication ends.
CS (Chip Select)
The Chip Select line is an active LOW digital input. It can be driven by the host controller to enable SPI transactions to the device. Normally this pin is tied LOW unless more than one device is to share the same SS signal.
MOSI (Master Out, Slave In)
The MOSI line is a digital input. MOSI is driven by the SPI master. It provides data transfer, MSB first, from the master to the slave. (See page 64)
MISO (Master In, Slave Out)
The MISO line is an open drain digital output. When SS is HIGH, this pin is tri-state. When SS is LOW, MISO is driven by the device. It provides serial data transfer, MSB first, from the slave to the master.
- 15 -
Publication Release Date: May 2003 Revision 3.09
WTS701
7.2.5 Flow Control Interface
In addition to the SPI interface, the WTS701 has two control lines to facilitate data transfer and host communications. The INT (interrupt) pin is used by the WTS701 to request an interrupt service from the host controller. The interrupt types that the device generates are controlled by the communications control register command (SCOM). The R/ B (ready/busy) pin is used to control the flow of data across the SPI bus. When this signal is HIGH, the device can accept more data. When it is LOW, SPI transactions must be paused or terminated.
INT (Interrupt) INT is an open drain output pin. The WTS701 interrupt pin goes LOW and stays LOW when an interrupt event has occurred, as defined by the SCOM command. The interrupt is cleared when a RINT (read interrupt) command is executed. The status register defines what type of interrupt has occurred.
R/ B (Ready/Busy Signal)
The R/ B line is an output open drain pin used to control data transfer rate across the SPI port. The line is used as a handshake signal to the SPI Master to indicate when the device is ready for more data. When HIGH, the master is free to send more data. When LOW, the device is busy and cannot accept more data.
7.2.6 The CODEC Interface
The WTS701 provides an on chip interface for digital environment systems, supporting slave CODEC interface mode. The WTS701 CODEC interface is controlled by an external source hence the WTS701 only transmits data. Thus, it is effectively an analog-to-digital converter. Each analog sample is converted to 10 bit digital word. This digital word is transmitted with the MSB first. Since the host expects either 13 or 16 bit data in the short frame format, either three or six zeros are appended as the LSB. It interfaces to the baseband CODEC via the VCLK, VFS and VDX lines. Refer to Figure 2, for more information about the connection between the WTS701 and a CODEC. All Input pins are 3V and 5V tolerant. The following is a description of the WTS701 CODEC interface signals:
VCLK (CODEC Clock Line) The CODEC clock line supplies the sampling clock to the internal CODEC. This is a digital input and expects a 512kHz--2.048MHz clock.
- 16 -
WTS701
VFS (CODEC Synchronization Line) The CODEC synchronization line supplies a frame synchronization signal to the internal CODEC. This is a digital input. After receipt of a synchronization pulse, the CODEC will output data on the VDX line. The VFS line expects an 8kHz sample rate and supports both short frame and long frame synchronization signal. VDX (CODEC Data Transmit Line) The CODEC data transmit line is a digital output that places digital audio data onto the CODEC bus. The line is in a tri-state condition until the device is due to transmit data. The data output from the VDX line is selected by the SCOD Command. When WTS701 places data on the VDX line, it is required that the VFS line should be in tri-state condition when another device is connected to the CODEC as well.
7.2.7 The Analog Interface
The WTS701 provides an on-chip analog interface for audio output via an 8 speaker driver or an output buffer capable of driving a 5k load. Additionally, an analog input (AUXIN) allows an audio signal to be fed through the WTS701 chip to either output device. The command SAUD configures the analog path. A digitally controlled attenuator provides volume control via the SVOL command. The following is a description of the analog pins:
AUXIN (Analog Input)
The AUXIN is an additional audio input to the WTS701. This input has a nominal 694 mV p-p level at its minimum gain setting (0 dB) (See Table 2). Additional gain is available in 3 dB steps (controlled by the SAUD Command) up to 9 dB. The use and equivalent circuit of the input amplifier is shown in Figure 7. (Must be AC coupled)
Internal to the device Rb
CCOUP = 0.1 F
Ra
1 NOTE: fCUTOFF= 2R C a COUP
Figure 7. AUXIN Input Amplifier.
- 17 -
Publication Release Date: May 2003 Revision 3.09
WTS701
Table 2. AUXIN Gain Settings. 0TLP Input VP-P1 AUD Register AIG1 AIG0 Gain2 Gain2 (dB) Resistor Ratio (Rb/Ra) 40.1 / 40.1 47.0 / 33.2 53.5 / 26.7 59.2 / 21 Speaker Out VP-P3
0.694 0.491 0.347 0.245
1 2
0 0 1 1
0 1 0 1
1.00 1.41 2.00 2.82
0 3 6 9
1.388 1.388 1.388 1.388
OTLP Input is the reference Transmission Level Point that is used for testing. This level is typically 3 dB below clipping. From AUXIN to AUXOUT. Measured differentially at SP+/SP-.
3
AUXOUT (Analog Output) The AUXOUT is an audio output pin used to provide an analog output of the synthesized speech from the WTS701. It drives a minimum load of 5 k up to a maximum of 1 V p-p. The AC signal is superimposed on approximately 1.2 VDC bias and must be capacitively coupled to the load. This output stage may be powered down by clearing the AOPU bit via the SAUD command. SP +, SP(Speaker +/-)
This is the speaker differential output circuit. It is designed to drive an 8 speaker connected across the speaker pins up to a maximum of 23.5 mW power. This stage has selectable gains of 1.32 and 1.6, which can be chosen through the SPG bit via the SAUD command. These pins are biased to approximately 1.2 VDC and, if used single-ended, must be capacitively coupled to their load. Do NOT ground the unused pin. This output stage may be powered down by clearing the SPPU bit via the SAUD command.
ATTCAP (AutoMute Attenuator Capacitor)
This pin provides a capacitor connection for setting the AutoMute. It should have a 4.7 F capacitor connected to ground and it cannot be left floating. The AutoMute circuit reduces the amount of noise present in the output during quiet pauses.
7.2.8 Resetting
The chip has an internal power-on reset circuit that ensures correct initialization upon application of power. The reset pin signal must be held HIGH for 0.5s to achieve a reset (see Figure 8) and to put the WTS701 in the RESET state. Once the WTS701 completes the reset, it will enter the POWER DOWN mode. Before issuing active commands, a clock configuration and device power up command must be issue in the POWER DOWN mode. Issuing a Reset command (RST) resets the WTS701 processor to the initial POWER DOWN state. Applying the reset pin, while the chip is active, allows the host processor to reset the WTS701 to its default values and the IDLE state.
- 18 -
WTS701
T res et
T re s et > 0.5 s R ESET
Figure 8. Reset Condition Timing.
7.3 COMMUNICATION PROTOCOL
The WTS701 is controlled by a series of SPI transactions to send commands to the device. The general format of an SPI transaction is shown in Figure 9. A transaction is always started by sending a command word. The command word consists of a command byte followed by a command data byte. At the same time, the status register is shifted out on the MISO line. What follows depends on what command is sent. The general case is that following the command word, up to n-bytes of data can be sent to the device and n-bytes can be read from the device. An SPI transaction is finished when SS is returned to the HIGH condition.
MSB 7 MOSI CMD BYTE 7 0 STATUS BYTE 0 0 7 CMD DATA 7 0 STATUS BYTE 1 7 DATA0 0 7 DATA0 0 7 DATA1 0 7 DATA1
LSB 0 DATAn 0 DATAn
MISO
time
Figure 9. SPI Transaction Format.
- 19 -
Publication Release Date: May 2003 Revision 3.09
WTS701
7.3.1 Command Classes
The SPI transactions to the WTS701 fall into four classes. The four classes represent variations in how the command, and any associated data, is handled. The class of a command is defined by the two most significant bits of the command byte. A summary of the command classes is given below
Class 0 Commands
These are commands that are executed irrespective of the state of the WTS701. That is, the command will execute even if the device is busy or powered down. These commands are executed internally by a hardware command interpreter. All commands not of class 0 require that the WTS701 be in a powered up state. Example of class 0 command is the Read Status (RDST) command.
Class 1 Commands
Class 1 commands require interpretation by the internal firmware of the WTS701. Class 1 commands consist only of a command byte and command data byte. Any further data sent in a transaction is ignored. Class 1 commands are most often used for setting a configuration register in the device or sending commands that have no data such as the conversion pause (PAUS) command.
Class 2 Commands
Class 2 commands have associated data. After the command word, any data bytes following are loaded into an internal FIFO buffer for processing. If this FIFO becomes full, the R/ B signal is asserted (LOW) indicating that the host must pause data transfer. An alternative to monitoring the R/ B line, the R/ B bit of the status register can be monitored instead (see subsection 7.3.2) or via the RDST command. The R/ B bit cannot be used for intra-byte flow control, e.g. if a string of characters is sent, only every other byte is checked.
Class 3 Commands
Class 3 commands have data to return to the host. The R/ B line will go to busy immediately following the command word indicating that the WTS701 is fetching the requested data. Data is put into the BCNT0 and BCNT1 (see subsection 7.3.4) registers and is read out in the two subsequent bytes after R/ B is released. If more than two bytes are returned from the command, R/ B will again be asserted until data is ready to read. The primary Class 3 commands are to read the contents of internal configuration registers such as RREG command.
- 20 -
WTS701
7.3.2 Status Register
The WTS701 has a sixteen-bit status register whose value is returned to the host controller during the command word. For class 2 commands, the status register is repeatedly returned every two bytes. This status register provides the host with information regarding the current status of the chip. The host can decide on required actions with this information. The Status Register is echoed back by all commands.
Table 3. Status Bytes. Bit 7 Status Byte 0 Status Byte 1 ICNT R/ B Bit 6 IBUF Reserved Bit 5 ICNV Reserved Bit 4 COD Reserved Bit 3 BFUL Reserved Bit 2 BEMP IABB Bit 1 CNVT Reserved Bit 0 RDY ICMD
The contents of the status bytes are described in Table 4.
- 21 -
Publication Release Date: May 2003 Revision 3.09
WTS701
Table 4. Status Bit Description. Byte Bit Name RDY Bit # 0
CNVT
1
Ready to accept commands. After the device has been powered up, this bit is set after the Power Up latency delay. Converting. This bit is set anytime while the conversion process is running. If this bit is clear when a convert command is sent, the count in the Count register is set to 0. The text input buffer is empty. This bit is set anytime the input buffer is empty. The text input buffer is full. This bit is cleared after 128 bytes become available in the input buffer. CODEC is enabled. This is set when the CODEC has been enabled by the SCOD command. Conversion finished interrupt has occurred. To stop CODEC transmission or Power Down the analog outputs an IDLE command should be sent. This bit is cleared by RINT command. The input text buffer been filled above the defined threshold and then gone below the defined threshold. The buffer threshold level is set by the SCOM command. If set by the SCOM command, the INT pin will also go LOW. This bit is cleared by RINT command.
BEMP BFUL
Status Byte 0
2 3 4 5
COD ICNV
IBUF
6
ICNT
7
Count interrupt has occurred. This interrupt is generated every time a word has been spoken if activated by the SCOM command. This bit is cleared by RINT command. Command was ignored. Anytime ICMD is set, the transaction must revert to a single word command and the command must be resent. Any data sent will be ignored. Abbreviation interrupt has occurred, abbreviation add or abbreviation delete has been completed. Now the ENTER_RRSM command can be sent. Current state of the R/ B pin. If this bit is 0, any data sent will be ignored.
ICMD
Status Byte 1*
0
IABB
2
R/ B
*5 bits are reserved.
7
7.3.3 Interrupt Handler
If an interrupt has occurred, no further interrupts will be registered until the first interrupt has been cleared. Only one interrupt can be active at any time. The RINT command will read and clear pending interrupts while the RDST command will read interrupts without clearing them. Make sure that all interrupts that are not being used are masked by clearing the corresponding bits in the COM register.
- 22 -
WTS701
7.3.4 BCNT -- Byte Count Register
The byte count register (BCNT) is a tool for the host to keep track of where in a conversion the WTS701 is. When a new conversion is started, the byte count register is reset to zero. As each word (as defined by white-space separated characters) is spoken, the byte count register is updated to point to the first character of the next word to be spoken. In this way, the host can position a new conversion if the user wishes to repeat or skip text. The BCNT register is sent with BCNT1 (MSB) first and BCNT0 (LSB) second.
7.3.5 Command Acceptance
The WTS701 processes commands and data as they are sent to the device. Under certain conditions the device will not be ready to accept a new command or data. If the device has not finished processing the previous command, the ICMD bit of the status register will be set. If this bit is set, it implies that device is not in a position to accept the command being sent and that it will be ignored. The host should monitor this bit when a command is sent and, if it is detected, the SPI transaction should be terminated at the end of the command word. The host can then resend the command until the command is accepted.
7.3.6 Data Acceptance
The WTS701 has an eight byte FIFO to buffer data from the SPI port to the internal processor. During a conversion, data is read from this FIFO into an internal RAM data buffer. If SPI transmission is too fast for the WTS701 to keep up with, the R/ B line will be asserted (LOW) to pause data transfer. Alternatively, the STATUS register can be monitored for the state of the R/ B signal.
7.4 COMMANDS OVERVIEW
Control of the WTS701 is implemented through a 16-bit command word. The command word is always the first word to follow the falling edge on the SS signal. The command word consists of the command byte followed by the command data byte. Many commands do not require a command data byte, although one must be sent. For commands that have no data, the command data byte is a `don't care'. Commands fall into five categories. Commands that control an operational synthesis function of the text-to-speech processing, commands that modify internal configuration registers, commands that change system state, commands that read internal status registers, and customization commands.
- 23 -
Publication Release Date: May 2003 Revision 3.09
WTS701
Status Commands Table 5. Status Opcodes.
The WTS701 has three read-only registers accessed by the opcodes, which are shown to the right.
*
Opcode
Mnemonic
Function
0x04
RDST RINT RVER
Read Status Register Read Interrupt Register Device Version
0x06 The Read Status Register returns the device's 0x12 operational status and the numbers of bytes that have been converted.
* *
The Read Interrupt Register returns the same status data and clears any of the interrupt status bits that are set. The Version Register returns the hardware and firmware version of the chip.
System Commands Table 6. System Opcodes.
The WTS701 responds to various system commands that change the state of the system, namely:
*
Opcode
Mnemonic
Function
0x02 0x40 0x10
PWUP PWDN RST
Power Up Power Down Reset
The Power Up command wakes up the device from POWER DOWN mode.
* * *
0x57 IDLE Go Idle The Power Down command requests that the device enter the POWER DOWN mode. The Reset command resets the device (see subsection 7.4.4). The Idle command puts WTS701 processor in IDLE mode
- 24 -
WTS701
Synthesis Commands Table 7. Synthesis Opcodes.
The synthesis commands affect the text-to-speech synthesis. They are detailed in the table to the right. The basic commands are: * Start a conversion * Pause the conversion * Resume the conversion * Stop the conversion * Finish conversion at the end of the current word. * Finish the conversion at the end of the buffer * Volume up/down * Speed up/down the text-tospeech conversion
Opcode
Mnemonic
Function
0x81 0x49 0x4A 0x4B 0x4D 0x4C 0x53 0x54 0x55 0x56
CONV PAUS RES ST FINW FIN VLUP VLDN SPUP SPDN
Start Converting Pause Conversion Resume Conversion Stop Conversion Finish Word Finish Buffer Volume Up Volume Down Speed Up Conversion Slow Down Conversion
Configuration Commands Table 8. Configuration Opcodes.
The WTS701 has several configuration registers. The commands are:
*
Opcode
Mnemonic
Function
The COM configuration register governs the behavior of how the chip uses the INT and R/ B hardware lines to communicate with the host
0xC0 0x4E 0x4F 0x50 0x51 0x52 0x14 0x77
RREG SCOM SCOD SAUD SVOL SSPD SCLC SPTC
Read Configuration register COM Configuration register CODEC Configuration register AUDIO Configuration register VOL Configuration register SPEED Configuration register CLC (Clock) register Configuration
*
The CODEC register configures the mode of the digital audio output The AUDIO register sets parameters of the analog audio path
*
Set Speech Pitch
* * * *
The VOLUME register sets the volume level of output The SPEED register sets the speed level of output speech The CLC register sets the master clock frequency of the device The SPTC command sets speech pitch
- 25 -
Publication Release Date: May 2003 Revision 3.09
WTS701
Customization Commands Table 9. Customization Opcodes.
The WTS701 has the ability for the user to customize the way in which it responds to certain text strings. This is done by way of an abbreviation table. The customization opcodes allow the user to interrogate and modify the abbreviation table.
Opcode
Mnemonic
Function
0xC8 0xC9 0xC7 0xAF 0x83 0x0C
ABBR_NUM ABBR_RD ABBR_MEM ABBR_ADD ABBR_DEL ENTER_RRSM
Get number of abbrev. entries Read abbreviation table Get number of free bytes. Add abbrev. entry Delete abbrev. entry Swap memory
7.4.1 Command Description
The following section list all the standard commands that can be executed on the WTS701.
PWDN Go to POWER DOWN Mode
This command puts the WTS701 processor in power-down mode. This is a single word command therefore no data is required for this command. The Power Down command places the WTS701 device into its lowest power consumption mode. In POWER DOWN mode, the device will only respond to a Power Up command (PWUP) and Read Status (RDST) command. As soon as Power Down sequence has ended, the RDY flag in the status word is cleared.
PWDN
Byte Sequence: Description:
PWUP Power Up
Class WTS701
1
Type
I 0x40 0x00 Status Byte 1
Host controller
Status Byte 0
Put the WTS701 processor in power-down mode.
This command wakes up the WTS701 processor to IDLE state. The result of this command is that the WTS701 starts the power up sequence, which leads to bringing up internal supplies, resetting the processor, all configuration registers are initialized to their default values and entering IDLE state. As soon as power up sequence has ended, the RDY flag in the status word is asserted. The SCLC command must be sent BEFORE PWUP.
- 26 -
WTS701
PWUP
Byte Sequence: Description:
CONV
Class WTS701
0
Type
I 0x02 0x00 Status Byte 1
Host controller
Status Byte 0
Wake up the WTS701 processor to IDLE state.
Convert
The convert command starts the text to speech conversion process. The convert command is followed by ASCII text data. The device has a buffer of 256 bytes. When this buffer is full, the chip pulls the R/ B line LOW and sets the BFUL bit in the status word indicating that the WTS701 buffer manager is in the buffer full condition. The WTS701 remains in the buffer full condition until the input buffer has been emptied of half the buffer space (128 bytes). When the buffer is full, the Host may do one of three things: 1. The Host may end the command at that point, then poll the BFUL bit of the SPI status register until it is clear, and then send new CONV commands with the additional ASCII text data.
2. The Host may also continue the command (keep SS LOW) and wait for the R/ B pin to go HIGH. As each word is processed by the WTS701, space will become free in the buffer and the R/ B pin will go HIGH until it is full again. 3. The device may also be configured such that it will generate an interrupt to the host when the buffer threshold (set by RCOM command) has been crossed. (See Tables 3 and 4) This allows the host to fill the buffer then wait for the Interrupt to send the additional data. During conversion, the Convert Count Register is updated as each word has been spoken. This register is cleared to zero at power up, and at the beginning of a new conversion process after one has been terminated. A convert command is terminated in several ways:
* *
Send a finish command (FIN) indicating that the host has finished sending data. In this case, the device finishes converting the text buffer, then stops and enters a wait state. The conversion process will also stop when the EOT (^D, ASCII 0x1A, UNICODE/Big5 0x00 0x1A) character is part of the input text. When the device detects the EOT character, it will continue the conversion process until the buffer is emptied and the final word spoken. Then it will stop and enter the wait state. The finish word command (FINW) will cause the WTS701 device to finish the word currently being spoken, then flush the buffers and enter the wait state.
*
- 27 -
Publication Release Date: May 2003 Revision 3.09
WTS701
The stop command (ST) will cause the WTS701 to immediately stop converting, flush the buffer and enter the wait state. Once the wait state has been entered the device will clear the convert (CONV) bit from the status register and, if enabled, generate an ICVT interrupt. At this stage the CODEC and analog path are still active. To release the CODEC bus, or Power Down the analog path, an IDLE command should be sent to the device. If a convert command is terminated using any of the methods described in this section, another convert command cannot be sent until the previous conversion is completed. The CNVT bit must be polled to determine that conversion is completed before a new conversion can be started.
*
CONV
Byte Sequence: Description:
Class WTS701
2
Type 0x81 Stadus Byte 0
III 0x00 Status Byte 1 DATA0 Status Byte 0 ... DATAn ... Status Byte n%2
Host controller
Start or continue a conversion process. Data sent is text data for conversion.
PAUS
PAUSE
This command causes a pause of the conversion process. There is no data associated with this command. The pause condition is terminated by the RES (Resume) command
PAUS
Byte Sequence: Description:
Class WTS701
1
Type
I 0x49 0x00 Status Byte 1
Host controller
Status Byte 0
This command pauses the conversion process.
RES
RESUME
This command causes the conversion to resume if it was paused. There is no data associated with this command
RES
Byte Sequence: Description:
Class WTS701
1
Type
I 0x4A 0x00 Status Byte 1
Host controller
Status Byte 0
This command resumes conversion after pause.
- 28 -
WTS701
ST STOP
This command immediately stops conversion without finishing buffer, and clears the buffer.
ST
Byte Sequence: Description:
Class WTS701
1
Type
I 0x4B 0x00 Status Byte 1
Host controller Stop conversion.
Status Byte 0
FINW
FINISH WORD
This command directs the WTS701 to finish text conversion at the end of the current word.
FINW
Byte Sequence: Description:
Class WTS701
1
Type
I 0x4D 0x00 Status Byte 1
Host controller
Status Byte 0
This indicates that conversion is to end with the processing of the current word.
FIN
FINISH
This command indicates that no further conversion data is to follow and to stop conversion after processing the current buffer contents.
FIN
Byte Sequence: Description:
Class WTS701
1
Type
I 0x4C 0x00 Status Byte 1
Host controller
Status Byte 0
Finish conversion after processing the current buffer.
- 29 -
Publication Release Date: May 2003 Revision 3.09
WTS701
IDLE IDLE
This command is executed after the receipt of an end-of-conversion interrupt (ICNV) has occurred. The IDLE command will deactivate all audio outputs and bring the device to the IDLE state.
IDLE
Byte Sequence: Description:
Class WTS701
1
Type
I 0x57 0x00 Status Byte 1
Host controller Put WTS701 in IDLE state.
Status Byte 0
RDST
READ STATUS
The Read Status command reads the status word of the device. If two dummy data bytes are also sent, the contents of the byte count register are also returned. Refer to subsections 7.3.2 and 7.3.4 for more information regarding the STATUS register and BCNT register.
RDST
Byte Sequence:
Class
0
Type
II 0x00 Status Byte 1 0x00 BCNT 1 0x00 BCNT0
Host controller WTS701
0x04 Status Byte 0
Description:
Read Status word of the device.
RVER
READ VERSION
The Read version command reads the WTS701 version information. The software version information is only valid when the device is powered up.
RVER
Byte Sequence: Description:
Class WTS701
0
Type 0x12
II 0x00 Status Byte 1 0x00 HW VER 0x00 SW VER
Host controller
Status Byte 0
Read WTS701 Software and Hardware versions.
- 30 -
WTS701
RINT READ INTERRUPT
The Read Interrupt command reads the status word of the device, it also clears the status interrupt request flags at the end of the transaction. As a result of this command, all interrupt bits are cleared and INT pin is released. Refer to subsections 7.3.2 and 7.3.4 for more information regarding the STATUS register and BCNT register.
RINT
Byte Sequence: Description:
Class WTS701
0
Type 0x06
II 0x00 Status Byte 1 0x00 BCNT1 0x00 BCNT0
Host controller
Status Byte 0
Read status word and clear the status interrupt bits.
RREG
READ CONFIGURATION REGISTER
The read configuration register command reads the configuration register specified in the command data byte. The code 0xNN is the register number and it is described in Table 10 - Configuration Registers, subsection 7.4.2.
RREG
Byte Sequence: Description:
Note: XX = don't care.
Class WTS701
3
Type 0xC0
IV 0xNN Status Byte 1 0x00 XX 0x00 REG
Host controller
Status Byte 0
Read configuration register 0xNN.
SCOM
SET COM REGISTER
Set the COM (interrupt communication) configuration register to value 0xNN. Refer to subsection 7.4.3 describing all configuration registers and the COM register in particular. The Default value of this register after Power-Up or Reset is 0x00. Refer to subsection 7.4.3 Configuration Registers, which describes all register bits.
SCOM
Byte Sequence: Description:
Class WTS701
1
Type
I 0x4E 0xNN Status Byte 1
Host controller
Status Byte 0
Set the COM (interrupt communication) configuration register to value 0xNN.
- 31 -
Publication Release Date: May 2003 Revision 3.09
WTS701
SCOD SET COD REGISTER
Set the COD (CODEC control) configuration register to value 0xNN. The Default value of this register after Power-Up or Reset is 0x01. Refer to subsection 7.4.3 Configuration Registers, which describes all register bits.
SCOD
Byte Sequence: Description:
Class WTS701
1
Type
I 0x4F 0xNN Status Byte 1
Host controller
Status Byte 0
Set the COD (CODEC control) configuration register to value 0xNN.
SAUD
SET AUD REGISTER
Set the AUD (analog audio) configuration register to value 0xNN. The Default value of this register after Power-Up or Reset is 0x43. Refer to subsection 7.4.3 Configuration Registers, which describes all register bits.
SAUD
Byte Sequence: Description:
Class WTS701
1
Type
I 0x50 0xNN Status Byte 1
Host controller
Status Byte 0
Set the AUD (analog audio) configuration register to value 0xNN.
SVOL
SET VOL REGISTER
Set the VOL (volume) configuration register to value 0xNN. The Default value of this register after Power-Up or Reset is 0x07. Refer to subsection 7.4.3 Configuration Registers, which describes all register bits.
SVOL
Byte Sequence: Description:
Class WTS701
1
Type
I 0x51 0xNN Status Byte 1
Host controller
Status Byte 0
Set the VOL (volume) configuration register to value 0xNN.
- 32 -
WTS701
SSPD SET SPD REGISTER
Set the SPD (speech rate/speed) configuration register to value 0xNN. The Default value of this register after Power-Up or Reset is 0x02. Refer to subsection 7.4.3 Configuration Registers, which describe all register bits.
SSPD
Byte Sequence: Description:
Class WTS701
1
Type
I 0x52 0xNN Status Byte 1
Host controller
Status Byte 0
Set the SPD (speech rate/speed) configuration register to value 0xNN.
SCLC
SET CLC REGISTER
Set the Clock configuration register (CLC) to value 0xNN. The value of this register must be set before Power-Up or Reset command to 0x00. Refer to subsection 7.4.3 - Configuration Registers, which describes all register bits.
SCLC
Byte Sequence: Description:
Class
0
Type
I 0x14 0xNN
Host controller
WTS701 Status Byte 0 Status Byte 1 Set the Clock configuration register (CLC) to value 0xNN.
SPTC
SET SPEECH PITCH
Set the speech pitch to value 0xNN. The valid pitch values are between 0x00 and 0x06 while the default pitch value is 0x05, and these values can be used to control the speech output pitch. The command can be executed only when the WTS701 is in IDLE state.
SPTC
Byte Sequence: Description:
Class WTS701
1
Type
I 0x77 0xNN Status Byte 1
Host controller
Status Byte 0
Set the speech pitch parameter to value 0xNN.
- 33 -
Publication Release Date: May 2003 Revision 3.09
WTS701
VLUP VOLUME-UP COMMAND
Increment the volume (VOL) register. Has no effect if already at maximum volume. The Default value of this register after Power-Up or Reset is 0x07. Refer to subsection 7.4.3 Configuration Registers, which describes all register bits.
VLUP
Byte Sequence: Description:
Class WTS701
1
Type
I 0x53 0x00 Status Byte 1
Host controller
Status Byte 0
Increment the volume (VOL) register.
VLDN
VOLUME DOWN COMMAND
Decrement the volume (VOL) register. This has no effect if already at minimum volume. The Default value of this register after Power-Up or Reset is 0x07. Refer to subsection 7.4.3 - Configuration Registers, which describes all register bits.
VLDN
Byte Sequence: Description:
Class WTS701
1
Type
I 0x54 0x00 Status Byte 1
Host controller
Status Byte 0
Decrement the volume (VOL) register.
SPUP
SPEED UP COMMAND
Increase speaking rate (SPD register). This has no effect if already at maximum speaking rate. The Default value of this register after Power-Up or Reset is 0x02. Refer to subsection 7.4.3 Configuration Registers, which describes all register bits.
SPUP
Byte Sequence: Description:
Class WTS701
1
Type
I 0x55 0x00 Status Byte 1
Host controller
Status Byte 0
Increase speaking rate (SPD register).
- 34 -
WTS701
SPDN SPEED DOWN COMMAND
Decrease speaking rate (SPD register). Has no effect if already at minimum speaking rate. The Default value of this register after Power-Up or Reset is 0x02. Refer to subsection 7.4.3 Configuration Registers, which describes all register bits.
SPDN
Byte Sequence: Description:
Class WTS701
1
Type
I 0x56 0x00 Status Byte 1
Host controller
Status Byte 0
Decrease speaking rate (SPD register).
RST
RESET COMMAND
Sending this command has the same affect as a Power-On reset, the WTS701 enters the POWER DOWN state.
RST
Byte Sequence: Description:
Class WTS701
0
Type
I 0x10 0x00 Status Byte 1
Host controller Reset the WTS701 device.
Status Byte 0
ABBR_ADD
ADD ABBREVIATION
Add an entry to the abbreviation table.
ABBR_ADD
Byte Sequence: Description:
Class WTS701
2
Type 0xAF Status Byte 0
III 0x00 Status Byte 1 DATA0 Status Byte 0 ... DATAn ... Status Byte n%2
Host controller
Add an entry to the abbreviation table..
- 35 -
Publication Release Date: May 2003 Revision 3.09
WTS701
ABBR_MEM RETURN ABBREVIATION MEMORY
The ABBR_MEM command will return the number of bytes available in the abbreviation table in MEM_HI and MEM_LOW.
ABBR_MEM
Byte Sequence: Description:
Class WTS701
3
Type 0xC7 Status Byte 0
IV 0x00 Status Byte 1 0x00 MEM_HI 0x00 MEM_LOW
Host controller
Return the number of bytes available in the abbreviation table.
ABBR_NUM
RETURN NUMBER OF ABBREVIATION ENTRIES
The ABBR_NUM command will return the number of abbreviation entries in the abbreviation table in NUM_HI and NUM_LOW.
ABBR_NUM
Byte Sequence: Description:
Class WTS701
3
Type 0xC8 Status Byte 0
IV 0x00 Status Byte 1 0x00 NUM_HI 0x00 NUM_LOW
Host controller
Return the number of abbreviation entries in the abbreviation table.
ABBR_RD
READ ABBREVIATION TABLE
The ABBR_RD command will return the abbreviation table. This command must read 2048 bytes after receiving the Status register.
ABBR_RD
Byte Sequence: Description:
Class WTS701
3
Type 0xC9
IV 0x00 Status Byte 1 0x00 ABBR0 ..... ..... 0x00 ABRRn
Host controller
Status Byte 0
Return the 2048 bytes of abbreviations.
- 36 -
WTS701
ABBR_DEL DELETE ABBREVIATION ENTRY
This command deletes abbreviation entry from abbreviation table.
ABBR_DEL
Byte Sequence: Description:
Class WTS701
2
Type 0x83
I 0x00 Status Byte 1 DATA0 Status Byte 0 ... ... DATAn Status Byte n%2
Host controller
Status Byte 0
Delete an entry from the abbreviation table.
ENTER_RRSM SWAP MEMORY
This command is used in programming mode, and causes the xdata and code store memory to swap spaces. Please refer to subsection 7.8 for more information about customizing abbreviations.
ENTER_RRSM
Byte Sequence: Description:
Class WTS701
0
Type
I 0x0C 0x00 Status Byte 1
Host controller
Status Byte 0
Swap memory between xdata and code store.
7.4.2 Illegal Commands
All commands described in section 7.4.1 are the only legal commands that should be sent to the WTS701 device, unless stated otherwise. Other commands should not be sent to the device, as the device behavior cannot be predicted. Specific illegal commands are those in which the 2 Most Significant Bits of the Command Byte are zeros and are not defined in this document as commands allowed to be sent to the WTS701.
7.4.3 Configuration Registers
The configuration registers are accessed by sending the appropriate configuration command followed by a single byte of data to load the register. The definition of the contents of the various registers is given below. The default value for each of these registers after Power Up or Reset is also described in Table 10.
- 37 -
Publication Release Date: May 2003 Revision 3.09
WTS701
Table 10. Configuration Registers.
MSB
LSB
Register COM COD AUD VOL CLC SPD
Reg. # 0x4E 0x4F 0x50 0x51 0x14 0x52
Default 0x00 0x01 0x43 0x07 None 0x02
Bit 7 ICNT X AOPU X X X
Bit 6 IBUF X SPPU X X X
Bit 5 ICNV X SPG X X X
Bit 4 X X FDTH X CLC4 X
Bit 3 X X X X CLC3 X
Bit 2 X MD2 X VL2 CLC2 SPD2
Bit 1 BUF1 MD1 AIG1 VL1 CLC1 SPD1
Bit 0 BUF0 MD0 AIG0 VL0 CLC0 SPD0
X = Reserved. The bits of each register are described below:
COM Register ICNT IBUF ICNV BUF1..0
If set to a `1', the device will generate an interrupt when the Count register has been updated. This occurs after each word has been spoken. If set to `1', the device will generate an interrupt when the buffer level crosses the threshold set by the BUF bits. (see Table 3, Status bytes). If set to `1', the device will generate an interrupt when the end of a conversion is reached. If IBUF is set, BUF1..0 determines the buffer level at which the interrupt will be generated. 00b - Input buffer empty. 01b - Input buffer <10% full. 10b - Input buffer <50% full. 11b - Input buffer <75% full.
- 38 -
WTS701
COD Register MD2
CODEC enable, possible modes are: 0b: CODEC disabled. 1b: CODEC enabled during conversion.
MD1
CODEC precision, possible modes are: 0b: 13 bit linear PCM output 1b: 16 bit linear PCM output.
MD0
CODEC output format, possible modes are: 0b: unsigned PCM output 1b: 2's complement PCM output.
AUD Register AOPU 1b: Power up the analog output buffer. SPPU 1b: Power up the analog speaker driver. SPG
Speaker Driver gain selection. 0b: 8 Speaker. Av = 1.32 1b: 100 Speaker. Av = 1.6
FDTH 1b: Enable feed-through path from AUXIN to AUXOUT. AIG1..0
AUXIN gain setting 00b - 0dB 01b - 3dB 10b - 6dB 11b - 9dB
- 39 -
Publication Release Date: May 2003 Revision 3.09
WTS701
VOL Register VL2..0
Volume level of output. 000 - 0dB 001 - -4dB 010 - -8dB 011 - -12dB 100 - -16dB 101 - -20dB 110 - -24dB 111 - -28dB Each step gives a 4dB attenuation of output.
CLC Register CLC4..0
Configure the device for different master clock frequencies. 0x00 0x10 0x08 24.576 MHz 16.384 MHz 32.768 MHz
(The only clock frequency currently recommended for operation is 24.576MHz.)
SPD Register SPD2..0
Configure the speech speed register. 0x04 is the fastest speed and 0x00 is the slowest.
- 40 -
WTS701
7.4.4 System Operation The WTS701 is a single chip solution for text-to-speech synthesis. The Text-to-Speech operation is accomplished by a process of screening the incoming text to normalize common abbreviations and numbers into a spoken form. The normalized text is then analyzed for phonetic interpretation and this phonetic translation is mapped into samples to be played out of the analog storage array. This output signal is then smoothed by a low-pass filter and is available as an analog signal, or can be passed through the CODEC for digital audio output. The WTS701 processor state machine
The WTS701 functions as a state machine and changes states either in response to a command sent by the host controller, after execution of command is completed, or as a result of an internal event. The WTS701 states are described below in reference to Figure 10.
Vcc Applied
Reset
Power Down
Soft Reset, PWDN
Soft Reset
PWDN, Soft Reset
Wait
Hard Reset
PWDN
PWUP
Idle
Idle
Convert Stop finish finish word conversion finished
Convert
Convert
Hard Reset
Figure 10. WTS701 Processor States
- 41 -
Publication Release Date: May 2003 Revision 3.09
WTS701
RESET
The WTS701 processor is initialized to the RESET state when Vcc is first applied to the part. After a reset condition the device enters the POWER DOWN state. All configuration registers are initialized to their default values after issuing the PWUP command. Once the WTS701 is active and a hardware reset is applied on the RESET pin, the WTS701 will be in IDLE state, and all configuration registers will return to their default values.
POWER DOWN
In this state, the power consumption of the WTS701 is minimal. All analog outputs are tristate, the crystal interface is deactivated and the microcontroller is stopped. The only commands valid in the Power Down mode are PWUP, SCLC and RDST. All configuration registers will return to their default values after issuing the PWUP command.
IDLE
The idle state is first entered with the PWUP command. In this state, the micro-controller is running and the device is ready to respond to further commands. From the IDLE state, the device can go to the active CONVERT state or the POWER DOWN state.
CONVERT
This state is initiated by the CONV command. The text located in the internal buffer is converted into speech and played back to the analog or digital interface according to the state of the configuration registers. Once the active conversion has finished, the device enters the WAIT state.
WAIT
Once a conversion has finished, the device enters the WAIT state. In this state, audio outputs are still active. To deactivate, audio outputs and return to the IDLE state an IDLE command is issued.
- 42 -
WTS701
7.4.5 Initialization and Configuration Configuration
After power-on or a Reset command (RST) the WTS701 processor can be configured for operation. This involves initializing the internal configuration registers for the users requirements.
Table 11. Initialization Commnad Sequence State Command Description
POWER DOWN
-------SCLC PWUP
State after power-on or RST command. Set clock configuration. Power up device. Set up communication register to enable interrupts. Set up CODEC configuration (if used). Set up audio control register. Set the initial volume level. Set the initial speech output speed level. Set the initial speech pitch level.
IDLE
SCOM SCOD SAUD SVOL SSPD SPTC
7.4.6 Converting Text
After configuration, the WTS701 is ready for text-to-speech conversion. Because of the real-time nature of speech, some form of flow control is necessary to inform the host system: 1. When the device is ready for more text data 2. When the device has finished converting text 3. When the device can release the audio interface The CONVERT state is entered by sending a CONV command along with some textual data. The WTS701 has an internal 256-byte buffer to accept text data. The R/ B signal (both the hardware line and the status bit) will become active (LOW): 1. When the internal buffer is full 2. If the host sends data at a rate too fast for the WTS701 to process it to the internal buffer When R/ B becomes active the user may: 1. Wait for the R/ B pin to return to the (HIGH) ready state 2. Terminate the SPI transaction until a later time and resend the data
- 43 -
Publication Release Date: May 2003 Revision 3.09
WTS701
The user has the choice of enabling interrupts to signal the host when there is free space in the internal buffer. When all text data has been sent, the user must indicate this by: 1. Sending a FIN (Finish) command 2. Sending an EOT (ASCII 0x1A) character as the last byte of a CONV command (MANDARIN UNICODE/Big5 0x00 0x1A) When conversion has been terminated using either of these commands, another CONV command cannot be sent until conversion is completed and the chip enters the WAIT state.
Notes 1. Buffer length limit: The max. character length of a white-space-bounded string is 53. The exceeding characters will be truncated. 2. Undefined characters: All the undefined characters will be deleted (prior to the word pronounciation process). The defined characters range from `0x00' to 0x7A' excluding `0x22', `0x3C', `0x3E' and `0x60'.
Once the WTS701 has synthesized the contents of the text buffer, it will enter the WAIT state. In this state the audio interface is still active. To disable the audio interface and return to the IDLE state an IDLE command is sent. The WAIT state can be detected either through polling of the CNVT bit or enabling of the ICNV interrupt. An example of the flow for a conversion is shown in Figure 11. The flow here assumes that the COM register is set such that the WTS701 generates an IBUF interrupt at the 75 percent buffer level (64 free bytes) and that the ICNV interrupt is enabled.
- 44 -
WTS701
IDLE
Send CONV command
Fill serial buffer with text data
No
Sent all data?
Yes
Send FIN command
Wait for ICNV interrupt or CNVT cleared
Send IDLE command
Wait for IBUF interrupt
Write a new batch of text data to buffer ( < 192 bytes otherwise buffer may overflow)
Figure 11. Flow Diagram for Convert Operation.
- 45 -
Publication Release Date: May 2003 Revision 3.09
WTS701
Controlling Text Conversion
The WTS701 offers several features to control text conversion. The PAUS (Pause) and RES (Resume) commands allow the host to pause and then continue speech output. The FINW command allows the host to end a conversion after the next whole word is spoken. The ST (Stop) command will terminate a conversion immediately - even mid-word. To allow more advanced control, the WTS701 allows the host to interrogate the byte count register, which keeps track of the position in the input stream that is currently being spoken. If the host wishes to repeat a spoken word, it should: 1. Read the byte count register 2. Send a FINW or ST command 3. Wait for ICNV 4. Send a new CONV command resending the data starting at the desired number of bytes, according to the repeated spoken words, prior to the count returned in the byte count In a similar way a skip function could be implemented to skip ahead words or sentences.
7.5 SPI INTERFACE
The SPI interface consists of the 4-wire bus SS , SCLK, MOSI and MISO. In addition, flow control protocols are implemented via the R/ B signal and/or the WTS701 Status register transmitted via MOSI. The WTS701 processor also has the option to communicate with the host via interrupt services requested by the interrupt request line. The timing and behavior of these signals is dependent upon the command class being executed, i.e., commands with or without associated data. Additionally the use of the R/ B hardware control line is not compulsory; rather the host can monitor the R/ B bit of the status register to determine when data has been accepted. The status register also contains the ICMD bit. This bit is set to indicate an SPI transaction has been ignored, indicating that the WTS701 processor is unable to service a new command. Asynchronous (Class 0) commands are always accepted. For more information, refer to subsection 7.3.1 which describes the command classes.
7.5.1 SPI Transactions SPI Transactions with the WTS701 are broken down into four classes and four basic types: Type I - Single Word Transactions
Single word transactions are Class 0 or Class 1 commands that have no data to transmit or transmit all required data in the command data byte. R/ B will never become active for these commands. ICMD could be active for a Class 1 command if the WTS701 is still interpreting the previous command.
- 46 -
WTS701
Command Byte Command Data Byte
SSB SCLK MOSI MISO
7654321076543210 00 0 0 0 0 0
ICNT IBUFI ICNV COD BFUL BEMP CNVT RDY R/B
IABB
Figure 12. Type I SPI Transaction.
Type II - Two Word Transactions that Receive Data
Type II transactions are four byte transactions that read out the byte count register. As these commands are all Class0, ICMD will never be active and R/ B will never occur.
Command Data Byte Data Byte 0 (even) Data Byte 1 (odd)
SSB SCLK MOSI MISO
Command Byte
7654321076543210 00 0 0 0 0 0 7 6 54 3 2 1 0 f e d c b a 9 8 BCNT0 BCNT1
ICNT IBUFI ICNV COD BFUL BEMP CNVT RDY R/B
IABB
Figure 13. Type II SPI Transaction.
Type III - Transactions that send data
Type III transactions send data to the WTS701. If the data rate exceeds the ability of the WTS701 to read data from the input FIFO or if the internal data queue becomes full then the R/ B line will handshake a pause in the SPI transaction. The host can either:
* *
Wait for R/ B to return HIGH then continue sending data Terminate the transaction and try sending data later
ICMD
- 47 -
Publication Release Date: May 2003 Revision 3.09
ICMD
WTS701
Command Byte Command Data Byte
SSB SCLK MOSI MISO
7654321076543210 00 0 0 0 0
ICNT IBUFI ICNV COD BFUL BEMP CNVT RDY R/B
IABB
ICMD
Data n (even) SSB SCLK MOSI R/B
Data n+1 (odd)
Data n+2 (even)
Data n+3 (odd)
7654321076543210
7654321076543210 R/B low with SPI End
MISO ICNT IBUFI ICNV COD BFUL BEMP CNVT RDY R/B
000 00 00 ICNT IBUFI ICNV COD BFUL BEMP CNVT RDY R/B IABB ICMD
000000 IABB ICMD
Figure 14. Type III SPI Transaction.
Type IV - Transactions reading data
Type IV transactions read data from the WTS701. Because of the latency required for the WTS701 to place data in the output register, R/ B must be monitored.
Command Data Byte Data Byte 0 (even) Data Byte 1 (odd)
SSB SCLK MOSI MISO
R/B
Command Byte
7654321076543210 00 0 0 0 0 0 7654321076543210
ICNT IBUFI ICNV COD BFUL BEMP CNVT RDY R/B
IABB
Figure 15. Type IV SPI Transaction. - 48 -
ICMD
WTS701
7.6 CODEC INTERFACE
The WTS701 processor supports analog and digital telephony in various configurations. The WTS701 can be used in digital environments, along with a DSP that controls a CODEC. Therefore, the WTS701 is configured to operate in slave mode, where the control signals are provided by an external source, which is usually the DSP. It supports a variety of single channel CODECs, examples of which are listed in Table 12. The CODEC interface is designed to send data in short frame format as well as long frame format. The channel width is 13 or 16 bits linear, the precision of the output is 10 bits. The operation mode of the CODEC is configured by the COD configuration register and SCOD command. See subsection 7.4.3 for details.
* * *
The CODEC can be configured to transmit data in the unsigned or 2's Complement mode (see Table 13 for details). The CODEC responds to both the Long and Short sync format (see Figure 16 and Figure 17). The CODEC can be configured to tristate the VDX line after 13 or 16 bits.
Table 12. Supported CODEC Examples.
Manufacturer
CODEC Device Name
Characteristics
Operating Voltage
Conversion Type
Data Format
OKI OKI OKI Motorola Lucent
ML7041 MSM7716 MSM7732-011 MC145483 T8538B
Single codec Single codec Single codec Single codec Quad codec
3V 3V 3V 3V 3.3 V
14-bit linear 14-bit linear 14-bit linear 13-bit linear 16-bit linear
2s Complement 2s Complement 2s Complement 2's Complement 2's Complement
- 49 -
Publication Release Date: May 2003 Revision 3.09
WTS701
Table 13. CODEC Transmission Modes.
Level
Signed Mode (2's Complement) Sign Bit (MSB) 13 Bit Mode 16 Bit Mode
Unsigned Mode 13 Bit Mode 16 Bit Mode
+ve full scale +1 LSB Zero (ground) -1 LSB -ve full scale
0 0 0 1 1
1111 1111 1000 0000 0000 1000 0000 0000 0000 1111 1111 1000 0000 0000 0000
1111 1111 1000 0000 0000 0000 1000 0000 0000 0000 0000 0000 1111 1111 1000 0000 0000 0000 0000 0000
1 1111 1111 1000 1 0000 0000 1000 1 0000 0000 0000 0 1111 1111 1000 0 0000 0000 0000
1111 1111 1100 0000 1000 0000 0100 0000 1000 0000 0000 0000 0111 1111 1100 0000 0000 0000 0000 0000
VFS VC LK VD X 13 12 11 10 9 8 7 6 5 4 0 LSB 00
MSB
Figure 16. CODEC Protocol, 13 bit, Short Frame Sync.
- 50 -
WTS701
VFS VC LK VD X 13 12 11 10 9 8 7 6 5 4 0 LSB 00
MSB
Figure 17. CODEC Protocol, 13 bit, Long Frame Sync.
VFS VC LK VD X MSB 13 12 11 10 9 8 7 6 5 4 0 0 0 0 00
LSB 3 ZEROS
Figure 18. CODEC Protocol, 16 bit, Short Frame Sync.
- 51 -
Publication Release Date: May 2003 Revision 3.09
WTS701
VFS VC LK VD X MSB 13 12 11 10 9 8 7 6 5 4 0 0 0 0 00
LSB 3 ZEROS
Figure 19. CODEC Protocol, 16 bit, Long Frame Sync.
7.7 CONTROL CHARACTERS
The WTS701 allows receiving control characters embedded in the text sent in the Convert command to better emphasize word or alter meaning of sentence. The control characters supported are for phonetic alphabet playback, speed, volume modification and case sensitivity behavior.
7.7.1 Phonetic Alphabet Playback
The WTS701 uses an intermediate phonetic translation represented as an alphabet that represents phonemes and stress for each input word. This feature allows the text sent to the WTS701 to consist of a combination of ASCII characters as well as phonetic alphabet. This capability offers the flexibility to send words already processed for phonetic representation, achieving the desired pronunciation. Phonetic strings can be sent directly to the WTS701. This can be done by embedding phoneme strings in the text stream for conversion. To embed a phoneme string, the string must be preceded by a control-P (^P, ASCII 0x10) character and terminated by a space character. For example: "The quick ^Pbr1Wn fox." The following table lists the phoneme symbols acceptable by the WTS701E (English software version). As the acceptable phoneme symbols are language dependent, please refer to the specific language User's Guide for details regarding characters accepted and other development considerations.
- 52 -
WTS701
Table 14. Acceptable Phoneme Symbols. Vowels Phoneme i Hex Value Example Consonants Phoneme Hex Value Example
0x69 0x49 0x65 0x45 0x40 0x75 0x55 0x6f 0x63 0x61 0x41 0x52 0x4f 0x59 0x57 0x78 0x58
beat bit bait bet bat boot book boat bought Bob but burr boy buy down
about
p t k b d g h f T D s S v z Z y w r l m n G C J P Q
0x70 0x74 0x6b 0x62 0x64 0x67 0x68 0x66 0x54 0x44 0x73 0x53 0x76 0x7a 0x5a 0x79 0x77 0x72 0x6c 0x6d 0x6e 0x47 0x43 0x4a 0x50 0x51
pet
ten kit bet debt get hat fat thing that sat shut vat zoo
I e E @ u U o c a A R O Y W x X
azure
you wit rent let met net
roses
sing
church Judge
Butter* Written*
Note that each phoneme is represented by exactly one character and each vowel is preceded by a stress symbol. * Female English only.
- 53 -
Publication Release Date: May 2003 Revision 3.09
WTS701
Numbers 1 and 0 represent stress: each word has a single 1 stress, representing the main stress of the word; all other syllables have 0 stress. Examples: Input hi. test testing
Phonetic translation h1Y (phoneme /h/, followed by a 1-stress vowel phoneme Y) t1Est t1Est0IG
Special Characters in Text Input String
These characters inserted into the ASCII text are used to modify the behavior for special circumstances. 0x10 ^P This `^Ppr0Ez0Intles0In'). control flag indicates a phoneme string follows immediately (e.g.
0x11 ^Q Pauses with variant length can be added within a sentence by using the `^QX' flag. `X' is an integer which indicates the pause duration (`X' is 0.1 sec per unit). For instance, `^Q10' will add in a 1-second pause. It is important to remember that all the text following these special characters will be subjected to the same special conditions. If a ^V+ command precedes a word then all the following words will be spoken louder. If a single word is to be emphasized then the ^V+ must be ahead of the word and a ^V- must follow.
7.7.2 Speed Change
The rate of speech can be changed by sending an SPI command to modify the speed or by adding a control character to control the speed in real-time. 0x13 ^S Speed Change Flag. A space character is required after the control characters before the input text string.
* * *
^S+: ^S-:
Increase speed by 1 (e.g. `^S+ Hello world'). Decrease speed by 1.
^SX: Set the speed to X. X starts from 0 to 4 (e.g. `^S1 Hello world'). Any number that is greater than 4 will be set to 4.
It's the user's responsibility to verify the WTS701 speed setting before sending a control character and/or SPI command that modify speed.
- 54 -
WTS701
7.7.3 Volume Change
The speech volume can be changed by sending SPI command to modify the speed or by adding control character to control the volume in real-time. 0x16 ^V Volume Change Flag. A space character is required after the control characters before the input text string.
* * *
^V+: ^V-:
Increase volume by 1 (e.g. `^V+ Hello world'). Decrease volume by 1.
^VX: Set the volume to X. X starts from 0 to 7 (e.g. `^V1 Hello world'). Any number that is greater than 7 will be set to 0.
It's the user's responsibility to verify the WTS701 volume setting before sending a control character and/or SPI command that modify volume.
7.7.4 Case Sensitivity
The way upper/lower case is handled can be changed by adding a control character in the text sent to control the case sensitivity behavior in real-time. 0x15 ^U All-Uppercase Word (all CAPs) Control Flag. This flag controls interpretation of strings with all uppercase letters. A space character is required after the control characters before the acutual input text string.
*
^U0: This is the default setting. Some all-uppercase words (all CAPs) are spelled out, but others are treated as ordinary words, abbreviations, Roman numerals, ect. (e.g. `^U0 IBM equals `i b m'). ^U1: Avoid spelling out all-uppercase words. Any all-uppercase word in the input string will NOT be spelled out unless the system determines that the word is not pronounceable. In this mode, there is no abbreviation support (e.g. `^U1 NOKIA' equals `nokia'). ^U2: Spell out all words, regardless of case. All words in the input sting are spelled out in this mode. There is no abbreviation support in this mode (e.g. `^U2 NOKIA' equals `n o k i a'). ^U3: Force the all-capital words/strings to be spelled out regardless of string length. For instance, `^U3 HELLO' will be pronounced as `H', `E', `L', `L', `O'.
*
*
7.7.5. Pause Control
Pause control flage: `^QX': Pauses with variant length can be added within a sentence by using the `^QX' flag. `X' is an integer which indicats the pause duration (`X' is 0.1 sec per unit). For instance, `^Q10' will add in a 1-second pause.
- 55 -
Publication Release Date: May 2003 Revision 3.09
WTS701
7.8 CUSTOMIZING ABBREVIATIONS
The WTS701 has support for entering and using custom abbreviations in addition to the general abbreviation table supported internally by the WTS701. There are 2K bytes of flash memory reserved for this purpose. After the WTS701 internal software has been initially programmed, this entire area is free and available for custom abbreviations. The commands associated with custom abbreviations are: Command ABBR_ADD Command Byte 0xaf Command Data Byte 0x00 + abbreviation data. 0x00+ abbreviation data. 0x00 + 0x00 + 0x00. 0x00 + 0x00 + 0x00. 0x00 + 2048 0x00s. Adds a new abbreviation to the abbreviation table in the WTS701 See next page for the format of the abbreviation data. Deletes an existing abbreviation from the abbreviation table in the WTS701. See next page for the format of the abbreviation data. Returns the number of abbreviation currently active in the abbreviation table of the WTS701. Returns the number of free bytes in the abbreviation table of the WTS701. Returns the abbreviation table contents from the WTS701. See next page for the format of the abbreviation table data. Causes the xdata and code store memory to swap spaces. The WTS701 begins to execute code previously stored into xdata after this command.
ABBR_DEL
0x83
ABBR_NUM
0xc8
ABBR_MEM
0xc7
ABBR_RD
0xc9
ENTER_RRSM
0x0c
0x00
7.8.1 Abbreviation Data Format
The format of the abbreviation data that is sent with the ABBR_ADD and ABBR_DEL commands is: XXX + "," + YYYY + ";". XXX - the abbreviation characters. "," - comma. YYYY - abbreviation text.
- 56 -
WTS701
";" - semi-colon. Example: TTS,text to speech; After this is added using the ABBR_ADD command, when the text "TTS" is sent as part of the convert data, the WTS701 will speak "text to speech" instead of T T S. Note: when deleting an abbreviation, the abbreviation text is optional. To delete the TTS example, only "TTS,;" is necessary.
7.8.2 Abbreviation Table Format
The format of the abbreviation table returned with the ABBR_RD command is: Abbreviation entry - Marker + Count + XXX + 0x00 + YYYY + 0x00. Marker - The marker will be either 0xfe for active abbreviation or 0xfc for a deleted abbreviation. Count - The byte count for this entry including the Marker, Count, XXX, YYYY, and zeros. XXX - the abbreviation characters. 0x00 - Null terminator. YYYY - abbreviation text. 0x00 - Null terminator. The unused data are always 0xff.
7.8.3 Command Execution
ABBR_NUM & ABBR_MEM -
These commands are executed by sending the command and
command data, waiting for R/ B to be ready, then receiving two bytes from MISO. The first byte received is the MSB, and the second is LSB. ABBR_RD - This command is executed by sending the command and command data, waiting for R/ B to be ready, then receiving 2048 characters (the entire abbreviation table). ABBR_ADD & ABBR_DEL - These commands are executed by sending the command and command data, followed by the abbreviation data formatted as described in subsection 7.8.1. When the WTS701 is ready for the next step, it will generate an IABB interrupt. After the interrupt, send the ENTER_RSSM (0x0c + 0x00) command. After issuing the command wait for 100ms. After the timeout, the WTS701 will have programmed the new abbreviation entry and be ready to accept more commands. Adding or removing an abbreviation will reset the configuration registers to their default values.
- 57 -
Publication Release Date: May 2003 Revision 3.09
WTS701
After abbreviation entry deletion, the abbreviation entry is only deleted from the table and not used, however it still holds memory space. The only way to free all memory will be to reprogram the WTS701 firmware into the device.
7.9 DEVICE PROGRAMMING
The WTS701 is fully programmable to support different available languages or different voices that can be loaded to the device whenever the user wishes to do so. The language or the voice module should be stored externally and transmitted to the WTS701 processor with regards to a specific protocol defined in this section. Programming the WTS701 consists of downloading a binary executable to the processor code memory and a digitized analog speech corpus to the non-volatile analog multi-level storage (MLS). Winbond will supply code as a set of ASCII readable data files. The information will be provided to qualified customers upon request.
- 58 -
WTS701
7.10 TEXT-TO-SPEECH PROCESSOR COMMMANDS - QUICK REFERENCE TABLE.
Status Commands
Command
Description
Opcode Hex
Command byte Command data
Previous State
Result State
Command Parameters
Description
Return Value
Description Byte count Byte count Hw_ver, Sw_ver
Name
RDST RINT RVER
0 0 0
II II II
Read Status Read Interrupt Read version
04 06 12
00 00 00
Idle, Convert, Power Down Idle, Convert Idle, Convert
No change No change No change
None None None
-
- 59 -
Publication Release Date: May 2003 Revision 3.09
Bytes
Class
Type
WTS701
System Commands
Command
Description
Opcode Hex
Previous State
Result State
Command Parameters
Return Value
Description
Description
Command byte
Command data
Name
Class
Bytes
PWUP PWDN
0 1 0
I I I
Exit Power Down mode Go To Power Down mode Reset
02 40 10
00 00 00
Power Down Idle, Convert Wait Idle, Convert Wait, Power down
Idle
Power Down Power Down
None None None
-
None None None
RST
- 60 -
Bytes
Type
-
WTS701
Synthesis Commands
Command
Description
Opcode Hex
Previous State
Result State
Command Parameters
Description
Return Value
Description
Command byte
Command data
Name
Class
Bytes
CONV PAUS RES ST FINW FIN VLUP VLDN SPUP SPDN IDLE
2 1 1 1 1 1 1 1 1 1 1
III I I I I I I I I I I
Convert text Pause conversion Resume conversion Stop conversion Finish word Finish Volume up Volume down Speed up Speed down Switch to Idle state
81 49 4A 4B 4D 4C 53 54 55 56 57
00 00 00 00 00 00 00 00 00 00 00
Idle, Wait
Convert Convert Convert Convert Convert Idle, Convert Wait Idle, Convert Wait Idle, Convert Wait Idle, Convert Wait Wait, Convert
Convert No change No change Wait Wait Wait No change No change No change No change
Text data None None None None None None None None None None
N -
None None None None None None None None None None None
Idle
- 61 -
Publication Release Date: May 2003 Revision 3.09
Bytes
Type
-
WTS701
Configuration Commands
Command
Description
Opcode Hex
Previous State
Result State
Command Parameters
Description
Return Value
Description
Command byte
Command data
Name
Class
RREG
3
IV
Read configuration register Set COM register Set COD register Set AUD register Set VOL register Set SPD register Set CLC register Set Speech Pitch
C0
Register Number
Idle, Convert
No change
None
Bytes
Type
-
Registe r value, dummy byte None None None None None None None
SCOM SCOD SAUD SVOL SSPD SCLC SPTC
1 1 1 1 1 1 1
I I I I I I I
4E 4F 50 51 52 14 77
Value Value Value Value Value Value Value
Idle, Wait Idle, Wait Idle, Wait Idle, Wait Idle, Wait Idle, Wait Idle, Wait
No Change No Change No Change No Change No Change No Change No Change
None None None None None None None
-
- 62 -
WTS701
Customization Commands
Command
Description
Opcode Hex
Previous state
Result State
Command Parameters
Description
Return Value
Description
Num_of_entries Abbreviation table entries Available_mem
Command byte
Command data
Name
Class
ABBR_ NUM
3
IV
Return number of abbreviation entries Read abbreviation table Return abbreviation memory Add abbreviation Delete abbreviation entry Swap memory
C8
00
Idle
No change
None
-
ABBR_ RD ABBR_ MEM ABBR_ ADD ABBR_ DEL ENTER _RRS M
3
IV
C9
00
Idle
No change
None
-
3
IV
C7
00
Idle
No change
None
-
2 1
III I
AF 83
00 00
Idle Idle
No change No change
Abbreviation information Abbreviation information
N N
Bytes
Type
None None
0
I
0C
00
Idle
No change
None
-
None
- 63 -
Publication Release Date: May 2003 Revision 3.09
WTS701
7.10.1 Text Input Format
The following table lists the ASCII characters acceptable by the WTS701E (English software version). Please refer to the specific language User's Guide for more details regarding characters accepted and other development considerations. Note: Unexpected behavior may occur if the input text contains characters that are not defined in this ASCII table.
Table 15. Allowable ASCII Characters.
0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f EOT ^U ^V ^S ^P ^Q 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f ? = # $ % & ` (apostrophe) ( ) * + , (comma) - (dash)
. (period)
Space !
0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b 0x5c 0x5d 0x5e 0x5f
@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ] (right bracket) \ (back slash) [ (left bracket) _ (under score)
0x60 0x61 0x62 0x63 0x64 0x65 0x66 0x67 0x68 0x69 0x6a 0x6b 0x6c 0x6d 0x6e 0x6f 0x70 0x71 0x72 0x73 0x74 0x75 0x76 0x77 0x78 0x79 0x7a 0x7b 0x7c 0x7d 0x7e 0x7f a b c d e f g h i j k l m n o p q r s t u v w x y z
/ (slash) 0 1 2 3 4 5 6 7 8 9 : (colon)
- 64 -
WTS701
7.10.2. Buffer length limit
The max. character length of a white-space-bounded string is 53. The exceeding characters will be truncated.
7.10.3. Undefined characters
All the undefined characters will be deleted (prior to the word pornunciation process). The difined characters range from `0x00' to `0x7A' excluding `0x22', `0x3E', and `0x60'.
- 65 -
Publication Release Date: May 2003 Revision 3.09
WTS701
8. TIMING WAVEFORMS
8.1 SPI TIMING DIAGRAM
SS
Tsss
SCLK
Tsclkhigh
Tsclklow
Tssh
Tssmin
Tdis
MOSI
Tdih
TRISTATE
Tpd
Tdf
TRISTATE
MISO
Figure 20. SPI Timing Specification.
SS
BIT 7
SCLK
BIT 0
Trbd
R/B
Trblow
Trbh
Figure 21. SPI R/ B Timing.
- 66 -
WTS701
Table 16. SPI Timing Parameters (see Figure 20 and Figure21) Symbol
TSSS TSSH TDIS TDIH TPD TDF TSSmin TSCKhi TSCKlow Trbd
Parameters
SS Setup Time SS Hold Time
Min
100 100 50 50
Typ(7)
Max
Units
ns ns ns ns
Conditions
Data in Setup Time Data in Hold Time Output Delay Output Delay to hiZ
SS High
100 100 200 80 80
ns ns ns ns ns
SCLK High Time SCLK Low Time Delay SCLK Hi to R/ B low
80 0 0
ns ms
Trblow Trbh FO
R/ B low time SCLK hold time from R/ B \ High CLK Frequency
5000
kHZ
- 67 -
Publication Release Date: May 2003 Revision 3.09
WTS701
8.2 CODEC TIMING DIAGRAMS
tsync tfsp
VFS
tx
VCLK
tsx
tdv
VDX
tdhi LSB
MSB
MSB-1
Figure 22. CODEC Timing -- Short Frame Sync.
tsync tfsp
VFS
tx
VCLK
tsx
tdv
VDX
tdhi LSB
MSB
MSB-1
Figure 23. CODEC Timing -- Long Frame Sync.
- 68 -
WTS701
Table 17. CODEC Timing Parameters (see Figure 22 and Figure 23) Symbol
Tclk Tsync DC Tir Tif Tfsp Trs Tsr Tdv Tdhi
Parameters
Bit clock frequency Frame Sync. Frequency Clock Duty Cycle Rise Time Fall Time Frame Sync. Pulse Width Receive Sync. Timing Receive Sync. Timing Output Delay Time for VDX Valid Output Delay Time for VDX High Impedance
Min
128
Typ(7)
Max
2048
Units
kHz kHz
Conditions
8 45 50 55 50 50 100 20 80 10 10 140 140
% ns ns ns ns ns ns ns All digital inputs All digital inputs VFS VCLK to VFS VFS to VCLK VCLK to VDX VCLK to VDX
- 69 -
Publication Release Date: May 2003 Revision 3.09
WTS701
9. ABSOLUTE MAXIMUM RATINGS
Table 18. Absolute Maximum Ratings (Packaged Parts) (1)
Condition
Junction temperature Storage temperature range Voltage Applied to any pin Voltage applied to any pin (Input current limited to +/-20 mA) Lead temperature (soldering VCC - VSS - 10 seconds)
(2)
Value
150 C -650C to +1500C (VSS - 0.3V) to (VCC + 0.3V) (VSS - 1.0V) to (VCC + 2.2V) 3000C -0.3V to +7.0V
0
Table 19. Operating Conditions (Packaged Parts).
Condition
Commercial operating temperature range (3) Extended operating temperature(2) Industrial operating temperature(2) Supply voltage (VCC)(4) Ground voltage (VSS)
(5)
Value
00C to +700C -200C to +700C -400C to +850C +2.7V to +3.3V 0V
1
Stresses above those listed may cause permanent damage to the device. Exposure to the absolute maximum ratings may affect device reliability. Functional operation is not implied at these conditions. All input pins except for CS signal, which is 3V tolerant ONLY. Case Temperature. VCC = VCCA = VCCD. VSS = VSSA = VSSD - 70 -
2 3 4 5
WTS701
10. ELECTRICAL CHARACTERISTICS
(VCC = 3.3V, VSS = 0V, TA = 0 to 70 C)
Table 20. General Parameters.
PARAMETER
SYMBOL
TEST CONDITIONS MIN
(6)
SPEC TYP
(7)
UNIT MAX.
Input LOW Voltage Input HIGH Voltage Output LOW Voltage R/ B , INT Output LOW Voltage Output HIGH Voltage VCC Current (Operating) - Convert - Idle - CODEC - Speaker VCC Current (Standby) Input Leakage Current
VIL VIH VOL VOL1 VOH ICC No Load(8) No Load No Load No Load ISB IIL (8)
(8) (8) (8)
VCC x 0.2 VCC x 0.8 IOL = 10 A IOL = 1 mA IOL = -10 A VCC - 0.4 50 20 20 15 1 50 +/-1 0.4 0.4
V V V V V
mA mA mA mA
A A
6
7 8
All Min/Max limits are guaranteed by Winbond via electrical testing or characterization. Not all specifications are 100% tested. Typical values are T = 25C and VCC = 3.0V, timing measured at 50% levels. VCCA and VCCD summed together. Publication Release Date: May 2003 Revision 3.09
- 71 -
WTS701
Table 21. Speaker Driver Specifications.
PARAMETER
SP+/- Output Voltage (HIGH Gain Setting) SP+/- Output Load Imp. (LOW Gain) SP+/- Output Load Imp. (HIGH Gain) SP+/Cap. Output Load
SYMBOL
VSPHG RSPLG RSPHG
CS P
TEST CONDITIONS MIN.
Peak-to-Peak, load = 150 differential 8 70
SPEC TYP. MAX.
3.6
UNIT
V
150 100 1.2
pF VDC
SP+/Output Bias Voltage (Analog Ground) Speaker Offset Output DC
VSPAG
VSPDCO PSRR
With AUXIN to Speaker, AUXIN AC coupled to VSSA Measured with a 1 kHz, 100 ma sine wave input at VCC and VCC pins With 0TLP input to AUX IN, 6 dB setting (12) Differential load at 8 -0.25 23.5 -55
100
mVDC dB
Power Supply Rejection Ratio Frequency Response (300-3400 Hz) Power Output Gain Setting) (LOW
FR PUTLOG
+0.25
dB mWRMS
- 72 -
WTS701
Table 22. AUXOUT Parameters. PARAMETER
AUXOUT - Maximum Output Swing Minimum Load Impedance Maximum Load Capacitance AUXOUT
SYMBOL
VANAIUT RL CL VBIAS
TEST CONDITIONS MIN.
5k Load (AC Coupled) 5
SPEC TYP. MAX.
1.0
UNIT
V k 100 pF VDC
1.2
Table 23. Volume Control Parameters.
PARAMETER
Output Gain Absolute Gain
SYMBOL
AOUT
TEST CONDITIONS MIN.
8 steps of 4 dB, referenced to output AUXIN 1.0 kHz 0TLP, 6 dB gain setting measured differentially at SP+/-0.5
SPEC TYP.
-28 to 0 +0.5
UNIT MAX.
dB dB
- 73 -
Publication Release Date: May 2003 Revision 3.09
WTS701
11. TYPICAL APPLICATION CIRCUIT
The following schematic diagrams are extracted from the WTS-ES701 evaluation board schematic. The evaluation system includes the following basic clusters: WTS701 processor cluster working with 3.3V, including an 8-ohm speaker, SPI connector to the host PC via the PC parallel port. For more information about the evaluation system, please refer to the WTS-ES701 User's Guide.
VCCD U6 1 2 3 4 5 6 7 1 2 3 4 5 6 7 14 13 12 11 10 9 8 14 13 12 11 10 9 8 2 .1UF PG 1,3 PAD_BCLK PG 1,3 PAD_FS PG 1,3 PAD_DIN J7 3 2 1 PG 1,3 PAD_MISO PAD_XTI PAD_XTO 3 4 5 6 8 7 9 PG 1 PAD_XTO C18 10PF C19 10PF PG 1,3 PAD_INTB VCCD C23 .1UF VCCD C24 .1UF VCCD PAD_RDY PAD_MISO PAD_INTB R9 33K R10 33K R11 33K C25 PG 1 CSB CSB PG 1,3 PAD_RDY PG 1,3 PAD_RESET 25 26 27 CSB RDY RESET WTS701 R12 33K R13 10K MJ-3536N PAD_AUXIN .1UF J5 3 2 1 VCCA C21 .1UF VCCA C22 .1UF PG 1,3 PAD_MOSI PG 1,3 PAD_SSB PG 1,3 PAD_SCLK VCCD Y2 XTAL 10 11 12 13 14 15 16
C26 U5 VSSA1 VCLK VFS VDX MISO XTI XTO VSSDN VSSD VCCD VCCDN INTB MOSI SSB SCLK VSSA2 36 ATTCAP 40 PAD_ATTCAP VCCA SPK+ VSSA3 SPK48 46 44 42 PAD_SPKPAD_SPK+ AUXIN 52 PAD_AUXIN VCCA AUXOUT 54 PAD_AUXOUT
PAD_AUXOUT PG 1 C17 J1 3 2 1
AUXOUT
.1UF
R8 10K
MJ-3536N
CRYSTAL SOCKET
PAD_AUXIN PG 1 PAD_SPK+ PG 1 J2 3 2 1
PG 1 PAD_XTI
SPEAKER
MJ-3536N PAD_SPK- PG 1 PAD_ATTCAP PG 1
+
C20 4.7UF J4 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 GNDA GND VCCD VCCA PAD_RDY PAD_RESET PAD_ATTCAP PAD_SPKPAD_SPK+ PAD_AUXOUT PAD_SCLK PAD_SSB PAD_MOSI PAD_INTB PAD_XTI PAD_XTO PAD_MISO PAD_DIN PAD_FS PAD_BCLK
Label pins of J4 with signal names.
AUXIN
- 74 -
WTS701
12. PACKAGE DRAWING AND DIMENSIONS
56 L TSOP(I) (14X20 MM)
- 75 -
Publication Release Date: May 2003 Revision 3.09
WTS701
13. ORDERING INFORMATION
WTS701__ __ /__
Language E - English M - Mandarin
Voice F - Female M - Male
Package Type T - TSOP 56-leads
For the latest product information, access Winbond's worldwide website at http://www.winbond-usa.com
- 76 -
WTS701
14. VERSION HISTORY
VERSION DATE PAGE DESCRIPTION
3.07 3.08 3.09
Apr. 2002 Jun. 2002 May 2003
1-73 1-73 all
Initial issue Improved package drawing, added illegal commands description, modified part number format Add crystal spec., description of buffer length limit & undefined characters, consonant phoneme characters (P & Q), ^U3 and ^Q control characters.
The contents of this document are provided only as a guide for the applications of Winbond products. Winbond makes no representation or warranties with respect to the accuracy or completeness of the contents of this publication and reserves the right to discontinue or make changes to specifications and product descriptions at any time without notice. No license, whether express or implied, to any intellectual property or other right of Winbond or others is granted by this publication. Except as set forth in Winbond's Standard Terms and Conditions of Sale, Winbond assumes no liability whatsoever and disclaims any express or implied warranty of merchantability, fitness for a particular purpose or infringement of any Intellectual property. Winbond products are not designed, intended, authorized or warranted for use as components in systems or equipments intended for surgical implantation, atomic energy control instruments, airplane or spaceship instruments, transportation instruments, traffic signal instruments, combustion control instruments, or for other applications intended to support or sustain life. Further, Winbond products are not intended for applications wherein failure of Winbond products could result or lead to a situation wherein personal injury, death or severe property or environmental injury could occur.
Headquarters
No. 4, Creation Rd. III Science-Based Industrial Park, Hsinchu, Taiwan TEL: 886-3-5770066 FAX: 886-3-5665577 http://www.winbond.com.tw
Winbond Electronics Corporation America
2727 North First Street, San Jose, CA 95134, U.S.A.. TEL: 1-408-9436666 FAX: 1-408-5441798 http://www.winbond-usa.com
Winbond Electronics (Shanghai) Ltd.
27F, 299 Yan An W. Rd. Shanghai, 200336 China TEL: 86-21-62365999 FAX: 86-21-62356998
Taipei Office
9F, No. 480, Pueiguang Rd Neihu District, Taipei, 114, Taiwan TEL: 886-2-81777168 FAX: 886-287153579
Winbond Electronics Corporation Japan
7F Daini-ueno BLDG, 3-7-18 Shinyokohama Kohoky-ku, Yokohama, 222-0033 TEL: 81-45-4781881 FAX: 81-45-4781800
Winbond Electronics (H.K.) Ltd.
Unit 9-15, 22F, Millennium City, No. 378 Kwun Tong Rd., Kowloom, Hong Kong TEL: 852-27513100 FAX: 852-27552064
Please note that all dataand specifications are subject to change without notice. All the trademarks of products and companies mentioned in this datasheet belong to their respective owners. This product incorporates SuperFlash(R) technology licensed from SST.
- 77 -
Publication Release Date: May 2003 Revision 3.09


▲Up To Search▲   

 
Price & Availability of WTS701

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X